package cn.iocoder.yudao.module.of.service.taskhandler;

import cn.iocoder.yudao.module.of.controller.admin.taskfeedback.vo.AddTaskInterfaceUserReq;
import cn.iocoder.yudao.module.of.controller.admin.taskhandler.vo.TaskHandlerRespVO;
import cn.iocoder.yudao.module.of.controller.admin.taskhandler.vo.TaskHandlerSaveReqVO;

import java.util.List;

/**
 * 任务办理人员 Service 接口
 *
 * @author 超级管理员
 */
public interface TaskHandlerService {

    /**
     * 创建任务办理人员
     */
    void createTaskHandler(Long taskId, List<TaskHandlerSaveReqVO> list);


    /**
     * 更新任务办理人员
     */
    void updateTaskHandler(Long taskId, List<TaskHandlerSaveReqVO> list);

    /**
     * 删除任务办理人员
     *
     * @param id 编号
     */
    void deleteTaskHandler(Long id);

    /**
     * 获得任务办理人员
     *
     * @param taskId 任务编号
     * @return 任务办理人员
     */
    List<TaskHandlerRespVO> getTaskHandler(Long taskId);


    /**
     * 获得任务主要办理人员
     * <p>
     * 主任务只有一个主要办理人，子任务支持多个办理人
     *
     * @param taskId 任务编号
     * @return 任务办理人员
     */
    List<TaskHandlerRespVO> getTaskMainHandler(Long taskId);

    /**
     * 集团部门领导，添加任务办理人
     *
     * @param req 请求体
     */
    void addTaskInterfaceUser(AddTaskInterfaceUserReq req);


}